package com.scpii.api.domain.user;

import java.io.Serializable;
import java.util.Date;

import org.codehaus.jackson.annotate.JsonIgnore;

import com.scpii.api.common.base.FilterEntity;

public class UserActions extends FilterEntity implements Serializable {

	public enum ActionType {

		NONE("NONE"),

		COMMENTS_ADD("COMMENTS_ADD"),

		COMMENTS_LIKE("COMMENTS_LIKE"),

		COMMENTS_SHARE("COMMENTS_SHARE"),

		REPLY_ADD("REPLY_ADD"),

		ACTIVITIES_JOIN("ACTIVITIES_JOIN"),

		ACTIVITIES_FORWARD("ACTIVITIES_FORWARD"),

		ACTIVITIES_FAV("ACTIVITIES_FAV"),

		ACTIVITIES_SHARE("ACTIVITIES_SHARE"),

		EC_FAVORITE("EC_FAVORITE"),

		EC_ORDER_ADD("EC_ORDER_ADD"),

		TARGET_VIEW("TARGET_VIEW"),

		USER_LOGIN("USER_LOGIN"),

		USER_REGISTER("USER_REGISTER"),

		FIELD_FILL_IN("FIELD_FILL_IN");

		private String value;

		private ActionType(String value) {
			this.value = value;
		}

		@Override
		public String toString() {
			return value;
		}

		public String getValue() {
			return value;
		}
	}

	private Long id;

	private Date createDt;

	private Long createBy;

	@JsonIgnore
	private Date updateDt;

	@JsonIgnore
	private Long updateBy;

	@JsonIgnore
	private Long targetId;

	private String actionType;

	@JsonIgnore
	private Long userId;

	@JsonIgnore
	private Long objectId;

	private Users createUser;

	private static final long serialVersionUID = 1L;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Date getCreateDt() {
		return createDt;
	}

	public void setCreateDt(Date createDt) {
		this.createDt = createDt;
	}

	public Long getCreateBy() {
		return createBy;
	}

	public void setCreateBy(Long createBy) {
		this.createBy = createBy;
	}

	public Date getUpdateDt() {
		return updateDt;
	}

	public void setUpdateDt(Date updateDt) {
		this.updateDt = updateDt;
	}

	public Long getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(Long updateBy) {
		this.updateBy = updateBy;
	}

	public Long getTargetId() {
		return targetId;
	}

	public void setTargetId(Long targetId) {
		this.targetId = targetId;
	}

	public String getActionType() {
		return actionType;
	}

	public void setActionType(String actionType) {
		this.actionType = actionType;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public Long getObjectId() {
		return objectId;
	}

	public void setObjectId(Long objectId) {
		this.objectId = objectId;
	}

	public Users getCreateUser() {
		return createUser;
	}

	public void setCreateUser(Users createUser) {
		this.createUser = createUser;
	}

}